package com.rul.mars.product.service;


import com.rul.mars.mbg.domain.ProductDetail;
import com.rul.mars.mbg.domain.ProductParam;
import com.rul.mars.mbg.domain.ProductQueryParam;
import com.rul.mars.mbg.model.Product;

import java.util.List;

/**
 * 商品服务
 *
 * @author RuL
 */
public interface ProductService {

    ProductDetail detail(Long id);


    List<Product> search(String keywords, Integer pageNum, Integer pageSize, Integer sort);

    void createProduct(ProductParam param);

    void updateProduct(ProductParam param);

    boolean deleteProduct(Long id);

    ProductParam infoProduct(Long id);

    boolean updatePublishStatus(Long id, Byte publishStatus);

    boolean verifyProduct(Long id, Byte status);

    List<Product> listProduct(ProductQueryParam param, Integer pageNum, Integer pageSize);
}
